home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / AWT / FocusManager.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  1.4 KB  |  124 lines

  1. package java.awt;
  2.  
  3. class FocusManager {
  4.    Container focusRoot;
  5.    Component focusOwner;
  6.  
  7.    FocusManager(Container var1) {
  8.       this.focusRoot = var1;
  9.    }
  10.  
  11.    synchronized void setFocusOwner(Component var1) {
  12.       this.focusOwner = var1;
  13.    }
  14.  
  15.    boolean focusNext() {
  16.       return this.focusNext(this.focusOwner);
  17.    }
  18.  
  19.    synchronized boolean focusNext(Component var1) {
  20.       Object var3 = var1;
  21.       if (var1 != null && var1.parent != null) {
  22.          Container var5;
  23.          do {
  24.             boolean var4 = false;
  25.             var5 = ((Component)var3).parent;
  26.  
  27.             for(int var2 = 0; var2 < var5.ncomponents; ++var2) {
  28.                Component var6 = var5.component[var2];
  29.                if (var4) {
  30.                   if (var6 instanceof Container) {
  31.                      if (this.focusForward((Container)var6)) {
  32.                         return true;
  33.                      }
  34.                   } else if (this.assignFocus(var6)) {
  35.                      return true;
  36.                   }
  37.                } else if (var6 == var3) {
  38.                   var4 = true;
  39.                }
  40.             }
  41.  
  42.             var3 = var5;
  43.          } while(var5 != this.focusRoot);
  44.  
  45.          return false;
  46.       } else {
  47.          return false;
  48.       }
  49.    }
  50.  
  51.    boolean focusPrevious() {
  52.       return this.focusPrevious(this.focusOwner);
  53.    }
  54.  
  55.    synchronized boolean focusPrevious(Component var1) {
  56.       Object var3 = var1;
  57.       if (var1 != null && var1.parent != null) {
  58.          Container var5;
  59.          do {
  60.             boolean var4 = false;
  61.             var5 = ((Component)var3).parent;
  62.  
  63.             for(int var2 = var5.ncomponents - 1; var2 >= 0; --var2) {
  64.                Component var6 = var5.component[var2];
  65.                if (var4) {
  66.                   if (var6 instanceof Container) {
  67.                      if (this.focusBackward((Container)var6)) {
  68.                         return true;
  69.                      }
  70.                   } else if (this.assignFocus(var6)) {
  71.                      return true;
  72.                   }
  73.                } else if (var6 == var3) {
  74.                   var4 = true;
  75.                }
  76.             }
  77.  
  78.             var3 = var5;
  79.          } while(var5 != this.focusRoot);
  80.  
  81.          return false;
  82.       } else {
  83.          return false;
  84.       }
  85.    }
  86.  
  87.    boolean assignFocus(Component var1) {
  88.       if (var1.isVisible() && var1.tabbable() && var1.isEnabled()) {
  89.          var1.requestFocus();
  90.          return true;
  91.       } else {
  92.          return false;
  93.       }
  94.    }
  95.  
  96.    boolean focusForward(Container var1) {
  97.       for(int var2 = 0; var2 < var1.ncomponents; ++var2) {
  98.          if (var1.component[var2] instanceof Container) {
  99.             if (this.focusForward((Container)var1.component[var2])) {
  100.                return true;
  101.             }
  102.          } else if (this.assignFocus(var1.component[var2])) {
  103.             return true;
  104.          }
  105.       }
  106.  
  107.       return false;
  108.    }
  109.  
  110.    boolean focusBackward(Container var1) {
  111.       for(int var2 = var1.ncomponents - 1; var2 >= 0; --var2) {
  112.          if (var1.component[var2] instanceof Container) {
  113.             if (this.focusBackward((Container)var1.component[var2])) {
  114.                return true;
  115.             }
  116.          } else if (this.assignFocus(var1.component[var2])) {
  117.             return true;
  118.          }
  119.       }
  120.  
  121.       return false;
  122.    }
  123. }
  124.